package com.sn.pw.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sn.pw.dao.entity.ShipOrder;
import com.sn.pw.page.PageResp;
import com.sn.pw.result.Result;
import com.sn.pw.vo.req.BiddingReq;
import com.sn.pw.vo.req.PickingOrderPageQueryReq;
import com.sn.pw.vo.req.ShippingOrderPageReq;
import com.sn.pw.vo.req.ShippingOrderReq;
import com.sn.pw.vo.resp.CompanyOrderResp;
import com.sn.pw.vo.resp.OrderResp;
import com.sn.pw.vo.resp.ShippingOrderResp;

import java.util.List;
import java.util.Map;

public interface OrderService extends IService<ShipOrder> {


//    List<OrderResp> addBidder(String type, BiddingReq biddingReq);

//    List<OrderResp> getBiddingList(BiddingReq biddingReq);
//
//    List<OrderResp> getSuccessList(BiddingReq biddingReq);
//
//    List<OrderResp> getFailedList(BiddingReq biddingReq);


    List<OrderResp> getDeliveredOrderByUserId(Long id);

    List<OrderResp> getEvaluationOrderByUserId(Long id);

    List<OrderResp> getWaitingOrderByUserId(Long id);

    List<OrderResp> getTransitOrderByUserId(Long id);

    List<OrderResp> getArrivedOrderByUserId(Long id);

    List<OrderResp> getTopFiveDataByUserId(Long id);

    CompanyOrderResp getMainOrderInfoByShippingOrderNumber(String shippingOrderNumber);

//    boolean update(ShippingOrderUpdateReq param);

    Result<ShippingOrderResp> publicOrder(ShippingOrderReq param);

    PageResp<ShippingOrderResp> pageRetrieveOrder(ShippingOrderPageReq pageReq);

    PageResp<ShippingOrderResp> findPage(PickingOrderPageQueryReq pageReq);

//    List<OrderResp> getBidList(BiddingReq biddingReq);

    List<OrderResp>  addBidder(BiddingReq biddingReq);
}
